package com.yuerlive.rainbow.module.login.presenter;

import com.yuerlive.rainbow.base.BasePresenter;
import com.yuerlive.rainbow.base.BaseView;
import com.yuerlive.rainbow.entity.BaseData;
import com.yuerlive.rainbow.entity.EditedInfo;
import com.yuerlive.rainbow.entity.User;

/**
 * Created by xiaoyi on 2017/5/23.
 */

public interface LoginContract {
    interface Presenter extends BasePresenter {
        void getSmsCode(String phone, String code,int type);

        void getImgCode();

        void login(String phone,String code);

        void completeInfo(String headIcon,String nickname,int sex);

        void getEditRequest(String mobile,String verificationCode);

        void thirdLogin(String icon,String nickname,String openId,String platform,String sex,String source);

    }

    interface View extends BaseView<Presenter> {
        void showImgCode(String imgUrl);

        void loginResult(User user);

        void sendSuccess(BaseData baseData);

        void bindMobileSuccess(BaseData baseData);

        void showFail(String message,String api);

        void loginFaild(int code,String result);
    }
}
